home *** CD-ROM | disk | FTP | other *** search
/ Amiga Magazin: Amiga-CD 1997 May & June / Amiga-CD 1997 #5-6.iso / tools / delitracker / bonus / playsid3.lzx / PlaySID3.0 / include / libraries / playsidbase.h < prev    next >
C/C++ Source or Header  |  1989-02-28  |  2KB  |  94 lines

  1. #ifndef LIBRARIES_PLAYSID_H
  2. #define LIBRARIES_PLAYSID_H
  3. /*
  4. **    $Filename: libraries/playsidbase.h $
  5. **    $Release: 1.0 $
  6. **
  7. **    (C) Copyright 1994 Per Håkan Sundell and Ron Birk
  8. **        All Rights Reserved
  9. */
  10.  
  11. #ifndef    EXEC_TYPES_H
  12. #include    <exec/types.h>
  13. #endif    /* EXEC_TYPES_H */
  14.  
  15. #ifndef    EXEC_LISTS_H
  16. #include    <exec/lists.h>
  17. #endif    /* EXEC_LISTS_H */
  18.  
  19. #ifndef    EXEC_LIBRARIES_H
  20. #include    <exec/libraries.h>
  21. #endif    /* EXEC_LIBRARIES_H */
  22.  
  23. #define PLAYSIDNAME    "playsid.library"
  24. #define PLAYSIDVERSION 1L
  25.  
  26. struct PlaySidBase
  27. {
  28.   struct Library LibNode;
  29.   UBYTE Flags;
  30.   UBYTE Pad;
  31.   APTR SysLib;
  32.   APTR SegList;
  33.   UWORD PlayMode;
  34.   UWORD TimeSeconds;
  35.   UWORD TimeMinutes;
  36.   /* Private... */
  37. };
  38.  
  39. struct DisplayData {
  40.     APTR    Sample[4];
  41.         WORD    Length[4];
  42.     WORD    Period[4];
  43.     WORD    Enve[4];
  44.     WORD    SyncLength[3];
  45.     WORD    Volume;
  46.     BYTE    SyncInd[3];
  47. };
  48.  
  49. /* --- Error -------------------------------------------------------- */
  50. #define SID_NOMEMORY       -1L
  51. #define SID_NOAUDIODEVICE  -2L
  52. #define SID_NOCIATIMER     -3L
  53. #define SID_NOPAUSE        -4L
  54. #define SID_NOMODULE       -5L
  55. #define SID_NOICON         -6L
  56. #define SID_BADTOOLTYPE    -7L
  57. #define SID_NOLIBRARY      -8L
  58. #define SID_BADHEADER      -9L
  59. #define SID_NOSONG         -10L
  60. #define SID_LIBINUSE       -11L
  61.  
  62. /* --- Playing Modes ------------------------------------------------ */
  63. #define PM_STOP   0
  64. #define PM_PLAY   1
  65. #define PM_PAUSE  2
  66.  
  67. /* --- Module Header ------------------------------------------------ */
  68. #define SID_HEADER      ('P'<<24 + 'S'<<16 + 'I'<<8 + 'D')
  69. #define SID_VERSION     2
  70. #define HEADERINFO_SIZE 32
  71.  
  72. #define SID_SIDSONG     (0)
  73. #define SIDF_SIDSONG    (1<<SID_SIDSONG)
  74.  
  75. typedef struct
  76. {
  77.   ULONG id;
  78.   UWORD version;
  79.   UWORD length;
  80.   UWORD start;
  81.   UWORD init;
  82.   UWORD main;
  83.   UWORD number;
  84.   UWORD defsong;
  85.   ULONG speed;
  86.   UBYTE name[HEADERINFO_SIZE];
  87.   UBYTE author[HEADERINFO_SIZE];
  88.   UBYTE copyright[HEADERINFO_SIZE];
  89.   UWORD flags;
  90.   ULONG reserved;
  91. } SIDHeader;
  92.  
  93. #endif
  94.